/*
 * Copyright (C) 2016 yixun All Rights Reserved.
 * 
 * Retain.java
 */
package com.emm.yixun.common.model;
import java.io.Serializable;

import com.alibaba.fastjson.annotation.JSONField;
import java.util.Date;

/**
 * [文件名称]<br>
 * Retain.java<br>
 * <br>
 * [文件描述]<br>
 * 保留表 pojo bean<br>
 * <br>
 * [修改记录]<br>
 * 2016-07-05 11:47:39 创建<br>
 * @version 1.00
 */
public class Retain extends CommonModel implements Serializable{
    /**
	 * 序列化UID
	 */
	private static final long serialVersionUID = 1L;

	/**
	 *主键、自动增长
	 */
	private Long id;
	/**
	 *外键：关联房产单元表pro_tr_project_room
	 */
	private Long roomId;
	/**
	 *客户ID,关联客户表
	 */
	private Long customerId;
	/**
	 *有效期开始日，当类型为保留时必填
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date startValidity;
	/**
	 *有效期结束日，当类型为保留时必填
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date endValidity;
	/**
	 *原因
	 */
	private String reason;
	/**
	 *记录操作人，关联用户表
	 */
	private Long agentId;
	/**
	 *保留日期，当类型为保留时必填
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date retainDate;
	/**
	 *0保留 1解除保留
	 */
	private String retainType;
	/**
	 *备注
	 */
	private String remark;
	/**
	 *商户ID
	 */
	private Long merchantId;
	/**
	 *保存到最后一级房产code码，作用于项目数据权限
	 */
	private String accessCode;
	/**
	 *用户编码,关联用户表
	 */
	private String userCode;
	/**
	 *创建人ID,关联用户表
	 */
	private Long createUserId;
	/**
	 *创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**
	 *修改人ID,关联用户表
	 */
	private Long updateUserId;
	/**
	 *修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date updateTime;
	/**
	 *是否删除:0否 1是
	 */
	private String delFlag;
	


	/**	 
	 *设置 :主键、自动增长
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**	 
	 *获取 :主键、自动增长
	 */
	public Long getId() {
		return this.id;
	}

	/**	 
	 *设置 :外键：关联房产单元表pro_tr_project_room
	 */
	public void setRoomId(Long roomId) {
		this.roomId = roomId;
	}

	/**	 
	 *获取 :外键：关联房产单元表pro_tr_project_room
	 */
	public Long getRoomId() {
		return this.roomId;
	}

	/**	 
	 *设置 :客户ID,关联客户表
	 */
	public void setCustomerId(Long customerId) {
		this.customerId = customerId;
	}

	/**	 
	 *获取 :客户ID,关联客户表
	 */
	public Long getCustomerId() {
		return this.customerId;
	}

	/**	 
	 *设置 :有效期开始日，当类型为保留时必填
	 */
	public void setStartValidity(Date startValidity) {
		this.startValidity = startValidity;
	}

	/**	 
	 *获取 :有效期开始日，当类型为保留时必填
	 */
	public Date getStartValidity() {
		return this.startValidity;
	}

	/**	 
	 *设置 :有效期结束日，当类型为保留时必填
	 */
	public void setEndValidity(Date endValidity) {
		this.endValidity = endValidity;
	}

	/**	 
	 *获取 :有效期结束日，当类型为保留时必填
	 */
	public Date getEndValidity() {
		return this.endValidity;
	}

	/**	 
	 *设置 :原因
	 */
	public void setReason(String reason) {
		this.reason = reason;
	}

	/**	 
	 *获取 :原因
	 */
	public String getReason() {
		return this.reason;
	}

	/**	 
	 *设置 :记录操作人，关联用户表
	 */
	public void setAgentId(Long agentId) {
		this.agentId = agentId;
	}

	/**	 
	 *获取 :记录操作人，关联用户表
	 */
	public Long getAgentId() {
		return this.agentId;
	}

	/**	 
	 *设置 :保留日期，当类型为保留时必填
	 */
	public void setRetainDate(Date retainDate) {
		this.retainDate = retainDate;
	}

	/**	 
	 *获取 :保留日期，当类型为保留时必填
	 */
	public Date getRetainDate() {
		return this.retainDate;
	}

	/**	 
	 *设置 :0保留 1解除保留
	 */
	public void setRetainType(String retainType) {
		this.retainType = retainType;
	}

	/**	 
	 *获取 :0保留 1解除保留
	 */
	public String getRetainType() {
		return this.retainType;
	}

	/**	 
	 *设置 :备注
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**	 
	 *获取 :备注
	 */
	public String getRemark() {
		return this.remark;
	}

	/**	 
	 *设置 :商户ID
	 */
	public void setMerchantId(Long merchantId) {
		this.merchantId = merchantId;
	}

	/**	 
	 *获取 :商户ID
	 */
	public Long getMerchantId() {
		return this.merchantId;
	}

	/**	 
	 *设置 :保存到最后一级房产code码，作用于项目数据权限
	 */
	public void setAccessCode(String accessCode) {
		this.accessCode = accessCode;
	}

	/**	 
	 *获取 :保存到最后一级房产code码，作用于项目数据权限
	 */
	public String getAccessCode() {
		return this.accessCode;
	}

	/**	 
	 *设置 :用户编码,关联用户表
	 */
	public void setUserCode(String userCode) {
		this.userCode = userCode;
	}

	/**	 
	 *获取 :用户编码,关联用户表
	 */
	public String getUserCode() {
		return this.userCode;
	}

	/**	 
	 *设置 :创建人ID,关联用户表
	 */
	public void setCreateUserId(Long createUserId) {
		this.createUserId = createUserId;
	}

	/**	 
	 *获取 :创建人ID,关联用户表
	 */
	public Long getCreateUserId() {
		return this.createUserId;
	}

	/**	 
	 *设置 :创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/**	 
	 *获取 :创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public Date getCreateTime() {
		return this.createTime;
	}

	/**	 
	 *设置 :修改人ID,关联用户表
	 */
	public void setUpdateUserId(Long updateUserId) {
		this.updateUserId = updateUserId;
	}

	/**	 
	 *获取 :修改人ID,关联用户表
	 */
	public Long getUpdateUserId() {
		return this.updateUserId;
	}

	/**	 
	 *设置 :修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	/**	 
	 *获取 :修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public Date getUpdateTime() {
		return this.updateTime;
	}

	/**	 
	 *设置 :是否删除:0否 1是
	 */
	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	/**	 
	 *获取 :是否删除:0否 1是
	 */
	public String getDelFlag() {
		return this.delFlag;
	}

}
